Repeater

ABSTRACT

The present invention aims at making the cut-through trigger variable in accordance with the traffic environment, thereby increasing the cut-through traffic to enhance the efficiency of communication. In the trigger filtering unit ( 16 A), the number of transfers of the hop-by-hop packet meeting each of a plurality of preset trigger conditions is counted. In the processor ( 15 A), the rate of the traffic meeting each of trigger conditions to all the traffics of the hop-by-hop transfer is calculated in accordance with the count value, a trigger condition under which the rate exceeds the threshold value is selected as the cut-through trigger, and it is determined which of the cut-through transfer mode and the hop-by-hop transfer mode should be selected.

TECHNICAL FIELD

The present invention relates to a repeater provided to execute packetrouting process in, for example, a computer network or LAN.

BACKGROUND ART

Some of repeaters generally called routers have the hop-by-hop transfermode and the cut-through transfer mode as packet routing modes.

The hop-by-hop transfer mode is a mode to execute the packet routingprocess in a network layer. In this mode a destination IP address andcontrol information are extracted from the received IP packet data, thetransfer destination is determined in accordance with the extracteddestination IP address and control information, and the IP packet datais transmitted in a line corresponding to the transfer destination. Aseries of the processes according to the hop-by-hop transfer areconventionally implemented by the software process with a processor.

On the other hand, the cut-through transfer mode is a mode to executethe packet switching process in data link layer. In accordance with aprotocol of a layer upper than a transport layer used to exchange theinformation between adjacent repeaters, a bypass transfer path called acut-through transfer path is established at a hardware switch, and thepacket routing is executed via the cut-through transfer path. Since thecut-through transfer mode is processed by the hardware, the high-speedrouting can be executed.

Incidentally, in the repeater having these transfer modes, when the dataflow is input therein, it is determined which of the hop-by-hop transferand the cut-through transfer should be executed, in accordance with thecondition to determine whether or not the cut-through transfer should beexecuted, i.e. the cut-through trigger. As for the cut-through trigger,a specific port number included in a TCP (Transmission Control Protocol)of the first packet (hereinafter called a trigger packet) in each dataflow is always used.

FIG. 1 is a circuit block diagram showing an example of configuration ofa repeater using an ATM switch as a hardware switch. In this figure, aplurality of input lines IL1 to ILn−1 and a plurality of output linesOL1 to OLn−1 are contained in an ATM switch unit 1.

When the ATM cells constituting the first packet of the data flow whichshould subjected to the routing process are input to the ATM switch 1via any one of the input lines IL1 to ILn−1, these ATM cells are inputto a packet assembly/disassembly unit (SAR: Segmentation and ReassemblySublayer) 3 via the output line OLn and assembled as the packet in aframe memory 4.

When a processor 5 is informed of the end of assembly of the packet bythe SAR 3, the processor 5 determines whether the data flow in which thepacket flows should be subjected to the hop-by-hop transfer or thecut-through transfer, by referring to the port number of the TCP of thepacket.

It is assumed now that, for example, the port number of the TCP would beregistered in advance as the cut-through trigger. The processor 5determines the cut-through transfer mode and sets the switchinginformation for the cut-through transfer on the switching table 2.Therefore, after that, the ATM cells of the same data flow arriving viathe input lines are subjected to the cut-through transfer via any one ofthe output lines OL1 to OLn−1 by the ATM switching unit 1, in accordancewith the switching information which has been set on the switching table2.

On the other hand, if the port number of the TCP is not registered asthe cut-through trigger, the processor 5 determines the hop-by-hoptransfer mode and sets on the switching table 2 the switchinginformation that allows the packet of the same data flow input in theATM switch unit 1 to be output to the output line OLn. For this reason,after that, the ATM cells of the same data flow arriving via the inputlines are input from the ATM switch unit 1 to the SAR 3 via the outputline OLn and assembled as the packet on the frame memory 4.

When the assembly has been ended, SAR 3 informs the processor 5 of thefact that the hop-by-hop packet has arrived, together with the addressinformation of the frame memory 4. When the processor 5 receives thisinformation, the processor 5 executes the routing process in accordancewith source address, destination addresses and the like that areinserted into the header information of the packet.

When the processor 5 has ended the routing process, the processor 5informs the SAR 3 of the fact that the transmission packet exists in theframe memory 4. When the SAR 3 is informed of the fact, the SAR 3 takesout of the frame memory 4 the packet which should be transmitted, anddisassembles the packet into the ATM cells, and transfers them to theATM switch unit 1 via the input line ILn. The ATM switch unit 1transmits the ATM cells transferred from the SAR 3, to the output linecorresponding to the destination thereof, in accordance with theinformation which is set on the switching table 2 by the above-mentionedrouting process.

Thus, every time the data flow is input via the input lines, thecut-through transfer process or the hop-by-hop transfer process isselectively executed in accordance with the TCP port number of the firstpacket.

The initial object to execute the cut-through transfer is not to subjectthe packet in the network layer to the routing process with the softwareprocess made by the processor, but to execute a high-speed packetrouting process with the hardware switching process in the data linklayer. Therefore, the efficiency of transfer in the repeater becomeshigher as the rate of the traffic in the cut-through transfer is higher.

In the conventional repeater, however, the TCP port number is fixedlyregistered as the cut-through trigger and it is determined which of thecut-through transfer and the hop-by-hop transfer should be executed inaccordance with this port number, as described above. For this reason,the traffic environment in which the repeater is used may cause thetraffic amount of the cut-through transfer to be reduced and the trafficamount of the hop-by-hop transfer to be increased, thereby failing toenhance the efficiency of communication.

The present invention has been accomplished in consideration of theabove-mentioned circumstances, and its object is to provide a repeatercapable of varying the cut-through trigger in accordance with thetraffic environment, thereby increasing the amount of the cut-throughtrigger and enhancing the efficiency of communication.

DISCLOSURE OF INVENTION

In order to achieve the above object, the present invention provides arepeater having a hop-by-hop transfer mode in which a packet routingprocess is executed in a network layer and a cut-through transfer modein which a packet switching process is executed in a data link layer,for executing a packet routing process by selectively using the modes,comprising:

traffic monitoring means for detecting a traffic of the hop-by-hoptransfer meeting each of a plurality of predetermined conditions thatcan be cut-through triggers; and condition selecting means for comparingan amount of the traffic of each of the conditions obtained by thetraffic monitoring means with a predetermined threshold value, andselecting a condition under which the amount of traffic exceeds thethreshold value as the cut-through trigger, wherein determinationwhether a received packet should be subjected to the cut-throughtransfer or the hop-by-hop transfer is executed in accordance with thecondition selected by the condition selecting means and the routingprocess is executing in accordance with a result of the determination.

Particularly, the traffic monitoring means is characterized byselecting, for example, at least two of the TCP port number, the packethaving a specific length, the UDP multi-cast and a specific line numberat which the packet is input, as the conditions which can be thecut-through triggers, and detecting the traffics of the hop-by-hoptransfer meeting the respective conditions.

Therefore, according to the present invention, the traffic amount of thehop-by-hop transfer is detected in relation to each of plural conditionsthat can be the cut-through triggers, such as the TCP port number, thepacket having a specific length, the UDP multi-cast and a specific linenumber at which the packet is input, and the condition under which thedetected traffic value exceeds a threshold value is selected as thecut-through trigger. That is, the condition with a higher traffic of thehop-by-hop transfer at the current time is selected and used as thecut-through trigger, in accordance with the variation in the trafficenvironment. For this reason, the traffic of the cut-through transfercan be always maintained to be higher, and thereby the efficiency ofcommunication of the repeater can be enhanced.

In addition, the present invention is also characterized in that thetraffic monitoring means uses a counter to count the number of transfertraffics of hop-by-hop packet meeting each of the plurality ofpredetermined conditions that can be the cut-through triggers, and thatthe condition selecting means obtains a rate of the traffic under eachof the conditions to entire hop-by-hop transfer traffics in accordancewith the count value of each of the conditions obtained by the counterof the traffic monitoring means, and selects a condition under which therate exceeds the threshold value as a cut-through trigger.

Thus, by constituting the traffic monitoring means with the counter,detection of the traffic can be implemented by simple hardware andincrease in dimensions of the arrangement of the repeater can berestricted as much as possible.

Further, the present invention is also characterized in that the trafficmonitoring means detects the traffics, in a certain previous period, ofthe hop-by-hop transfer meeting each of the plurality of predeterminedconditions that can be cut-through triggers.

With this structure, the variation in the current traffic can bedetected further exactly by excluding any influence of the previoustraffic detection value, and the rate of the cut-through transfer can bethereby highly maintained and the efficiency of communication in therepeater can be further enhanced.

Moreover, in the present invention, the traffic detection process of thetraffic detecting means, and the cut-through transfer process and thehop-by-hop transfer process of the routing processing means are executedwith hardware circuits, respectively, and the process of selecting thecondition which can be the cut-through trigger by the conditionselecting means is executed in the software process with a processor.

With this structure, the traffic detection process and the hop-by-hoptransfer process can be accelerated by the hardware process, and theefficiency of communication in the repeater can be thereby furtherenhanced. In addition, since the load of process on the processor can bereduced, a high speed processor does not need to be provided and therebythe price of the repeater can be lowered.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing an example of configuration of aconventional repeater.

FIG. 2 is a block diagram showing a first embodiment of a repeateraccording to the present invention.

FIG. 3 is a circuit block diagram showing a configuration of a triggerfiltering unit of the repeater shown in FIG. 2.

FIG. 4 is a view showing a concept in a basic configuration of therepeater shown in FIG. 2.

FIG. 5 is a block diagram showing a second embodiment of a repeateraccording to the present invention.

FIG. 6 is a block diagram showing a configuration of a routingprocessing unit in the repeater shown in FIG. 5.

FIG. 7 is a view showing an example of a configuration of a contentaddressable memory in the routing processing unit shown in FIG. 6.

FIG. 8 is a view showing an example of a configuration of a HASHsearching pointer table in the routing processing unit shown in FIG. 6.

FIG. 9 is a view showing an example of a configuration of a forwardingtable in the routing processing unit shown in FIG. 6.

FIG. 10 is a flow chart showing IP address searching steps using thecontent addressable memory in the routing processing unit shown in FIG.6 and the contents of the IP address searching steps.

FIG. 11 is a flow chart showing IP address searching steps using theHASH searching pointer table in the routing processing unit shown inFIG. 6 and the contents of the IP address searching steps.

FIG. 12 is a view showing a concept in a basic configuration of therepeater shown in FIG. 5.

FIG. 13 is a view showing a concept of the repeater according to theother embodiment of the present invention.

BEST MODE OF CARRYING OUT THE INVENTION

The present invention will be described in detail with reference to theattached drawings.

(1st Embodiment)

FIG. 2 is a circuit block diagram showing a first embodiment of arepeater according to the present invention.

This repeater comprises an ATM switch unit 11, a switching table 12, apacket assembly/disassembly unit(SAR) 13, a frame memory 14, a processor15A and a trigger filtering unit 16A.

A plurality of input lines IL1 to ILn and output lines OL1 to OLn arecontained in the ATM switch unit 11. Of the input lines IL1 to ILn andthe output lines OL1 to OLn, the input lines IL1 to ILn−1 and the outputlines OL1 to OLn−1 are used to transfer ATM cells with other repeaters,and the remaining input line ILn and output line OLn are used totransfer the ATM cells between the ATM switch unit 11 and the packetassembly/disassembly unit (SAR) 13.

Switching information to which the ATM switch unit 11 refers when itcarries out switching of the ATM cells is stored in the switching table12. The switching information is modified by the processor 15A (to bedescribed later).

The packet assembly/disassembly unit (SAR) 13 carries out the process ofassembling the ATM cells which arrive via the input lines IL1 to ILn−1as a packet and the process of disassembling the packet which is storedin the frame memory 14 and should be transmitted into the ATM cells.

As for a plurality of conditions (hereinafter called trigger conditions)that can be preset cut-through triggers, the trigger filtering unit 16Acounts the number of transfers of hop-by-hop packet meeting therespective conditions and thereby detects the traffic of the hop-by-hoptransfer under each of the conditions.

FIG. 3 is a circuit block diagram showing a configuration of the triggerfiltering unit 16A. The trigger filtering unit 16A, which is constitutedby hardware, comprises a condition determining unit 61, a write controlsignal generating unit 62, a plurality of trigger condition counters 631to 63m, a selector 64 and an adder 65.

The trigger condition counters 631 to 63m are made to correspond, one toone, to a plurality of trigger conditions that can be pre-definedcut-through triggers. As the plural trigger conditions, for example, theport number (for example, telnet, ftp, http) of the TCP, the packetlength (for example, more than 512 bytes), the multicast of the UDP, andthe input/output line number of the packet can be employed.

By referring to the header information of the hop-by-hop packetassembled in the SAR 13, the condition determining unit 61 determineswhether or not this packet meets any one of the plural triggerconditions. The write control signal generating unit 62 supplies a writecontrol signal to the trigger condition counter corresponding to thetrigger condition determined by the condition determining unit 61. Theselector 64 selectively supplies to the adder 65 a count value of thetrigger condition counter corresponding to the trigger conditiondetermined by the condition determining unit 61.

The trigger condition counters 631 to 63m store the count values of thenumber of transfers of the hop-by-hop packet meeting the triggerconditions corresponding respectively to the counters. The count valuesof the number of transfers are selectively input to the adder 65 by theselector 64, incremented (+1) in the adder 65, and written in thetrigger condition counters 631 to 63m from which they have been read, byenabling the counters corresponding to the conditions by the writecontrol signal generating unit 62.

The processor 15A, for example, which has a microcomputer as its controlunit, implements by the software processes a function of selecting thetrigger condition that should be the cut-through trigger in accordancewith the count values of the trigger condition counters 631 to 63m ofthe trigger filtering unit 16A, a function of determining which of thecut-through transfer and the hop-by-hop transfer should be executed inaccordance with the selected trigger condition, a function of executingthe routing process for the hop-by-hop transfer in the network layer,and various functions in layers higher than the network layer.

FIG. 4 shows a conceptional configuration of functions of the repeateraccording to the first embodiment described above.

Next, the operations of the above-constituted repeater will bedescribed.

When the ATM cells of the data flow in which the cut-through transfer isset arrive at the ATM switch unit 11 via the input lines IL1 to ILn−1,the ATM switch unit 11 switches the ATM cells of the data flow andtransfers them to the output lines corresponding to the destinations inaccordance with the switching information stored in the switching table12.

On the other hand, when the ATM cell of the data flow in which executionof the cut-through transfer or the hop-by-hop transfer is not decidedarrives, the ATM switch unit 11 inputs the ATM cell to the SAR 13 viathe output line OLn in accordance with the switching information storedin the switching table 12. The input ATM cell is assembled to be thepacket in the frame memory 14. When the SAR 13 has finished the packetassembly, the SAR 13 informs the processor 15A that the trigger packethas arrived, together with the stored address of the trigger packet inthe frame memory 14.

The processor 15A, which has received the information, selects thetrigger condition which should be the cut-through trigger at the currenttime, in accordance with the count values stored in the triggercondition counters 631 to 63m of the trigger filtering unit 16A, anddetermines whether or not the trigger packet stored in the frame memory14 meets the selected trigger condition. If the trigger packet meets theselected trigger condition as a result of the determination, theswitching information is set on the switching table 12 to subject thedata flow meeting the condition to the cut-through transfer.

Therefore, after that, the ATM cell of the same data flow arriving viathe input lines IL1 to ILn−1 is subjected to the cut-through transfer toany one of the output lines OL1 to OLn−1, in accordance with theswitching formation which is set on the switching tale 12 by the ATMswitch unit 11.

On the other hand, if the trigger packet does not meet the triggercondition as a result of the above determination, the processor 15Aexecutes the hop-by-hop transfer process by employing the software.

That is, the hop-by-hop packet stored in the frame memory 14 is firstdisassembled by the SAR 13 into cells, which are input to the ATM switchunit 11 via the input line ILn, and which are then transmitted via theoutput line corresponding to the destination, of the output lines OL1 toOLn−1, by the ATM switch unit 11 in accordance with the switchinginformation of the switching table 12.

After that, when the ATM cells of the same data flow arrive via theinput lines IL1 to ILn−1, the ATM cells are also transferred from theATM switch unit 11 to the SAR 13 and assembled to be the hop-by-hoppacket in the SAR 13. In the processor 15A, the routing process for thehop-by-hop transfer is executed in accordance with the headerinformation (i.e. the source address, the destination address and thelike) of the hop-by-hop packet.

Every time the hop-by-hop packet arrives, the packet count process fordetecting the traffic of the hop-by-hop transfer is executed inaccordance with each of the trigger conditions, in the trigger filteringunit 16A.

That is, when the hop-by-hop packet is assembled in the SAR 13, thecondition determining unit 61 determines whether or not a plurality ofthe pre-defined trigger conditions include any one meeting thehop-by-hop packet, in accordance with the header information of thehop-by-hop packet. If the trigger condition meeting the hop-by-hoppacket exists as a result of the determination, the corresponding one ofthe trigger condition counters 631 to 63m is selected by the selector64, and its count value is input to the adder 65 and incremented (+1).The incremented count value is written in the trigger condition counterfrom which the count value is read out, in accordance with the writecontrol signal generated from the write control signal generating unit62. If a plurality of meeting trigger conditions exist, the count valuesof the corresponding trigger condition counters 631 to 63m areincremented one after another in the same manner as the above-mentionedone.

Every time the hop-by-hop packet is received, the processor 15A takesthe count values of the respective trigger condition counters 631 to 63mand calculates the rate of the traffic meeting each of the triggerconditions to all the traffics of the hop-by-hop transfer in accordancewith the count values. The processor 15A selects the trigger conditionunder which this rate exceeds a preset threshold value as thecut-through trigger. After that, the processor 15A determines inaccordance with this trigger condition whether or not the receivedpacket should be subjected to the cut-through transfer or the hop-by-hoptransfer, and executes the routing process on the basis of thedetermination. If a plurality of trigger conditions under which the rateexceeds the preset threshold value exist, the conditions are selected asthe cut-through triggers respectively.

In the above descriptions, a case where the count value under each ofthe trigger conditions is indefinitely counted up is described. However,since counting up indefinitely is actually impossible, the count at thetrigger condition counters 631 to 63m is subtracted by a constant valuein every constant period. With this structure, the number of bits ineach of the trigger condition counters 631 to 63m can be limited and thecounter can be miniaturized and, of course, the variation of the currenttraffic can be exactly detected by periodically clearing old countvalues.

As described above, according to the first embodiment, the number oftransfers of the hop-by-hop packet meeting a plurality of preset triggerconditions respectively is counted in the trigger filtering unit 16A,while the routing process selectively employing the cut-through transferor the hop-by-hop transfer in accordance with the trigger conditions isexecuted. In the processor 15A, the rate of the traffic meeting each ofthe trigger conditions to all the traffics of the hop-by-hop transfer iscalculated in accordance with the count value for each of the triggerconditions obtained in the trigger filtering unit 16A, then it isdetermined which of the cut-through transfer mode and the hop-by-hoptransfer mode should be selected, by selecting the trigger conditionunder which this rate exceeds a preset threshold value as a cut-throughtrigger, and the routing process in each of the modes is executed.

Therefore, the trigger condition under which the rate to all thetraffics of the hop-by-hop transfer is large is selected as acut-through trigger in response to the variation in inclination of thearrival of the hop-by-hop packet. As a result, the traffic of thecut-through transfer can be always maintained highly and thereby theefficiency of communication of the repeater can be enhanced. Inaddition, since the trigger filtering unit 16A is constituted by asimple counter circuit, there is no fear that the circuit configurationof the repeater may be complicated or the repeater may be constituted ina larger size.

The above descriptions have exemplified the port number (for example,telnet, ftp, http) of the TCP, the packet length (for example, more than512 bytes), multicast of the UDP, and the input/output line number ofthe packet. Here, characteristics of the respective conditions will beexplained.

First, the port number of the PCT has been conventionally employed. Inthe prior art, however, only an application whose session duration isconsidered long is fixedly defined as a cut-through trigger. On theother hand, in the embodiment of the present invention, a plurality ofTCP port numbers that can be cut-through triggers are defined as triggerconditions, in consideration of TCP port numbers that are to be used infuture. The TCP port numbers are set in the processor 15A.

As for the packet length, a packet having a length of more than 512bytes is defined as a trigger condition. The reason for “more than 512bytes” is that the default packet length of the IP is 576 bytes and thatthe packet of 512 bytes is one of the peak values of the traffic ofpassing through the repeater. In addition, when the packet length isdetermined, only the 9th bit of the packet length is referenced, whichcan be simply carried out.

The UDP protocol is basically inclined to used only in a closed network.If the UDP protocol is used in a closed network, the cut-throughtransfer does not need to be executed. However, a UDP multi-cast isconsidered as the UDP packet assumed at present, which passes through aplurality of repeaters. Therefore, as for the UDP packet, the rate ofthe traffic of the cut-through transfer can be enhanced by defining themulti-cast packet as a condition under which it can be a cut-throughtrigger.

If the input/output of the packet are executed via a specific line, therate of the traffic of the cut-through transfer can be enhanced bydefining the input/output line of the packet as a condition under whichit can be a cut-through trigger.

(2nd Embodiment)

In the second embodiment of the present invention, the routing processof the hop-by-hop packet is not executed by the software process of theprocessor, but by the hardware.

FIG. 5 is a view showing a schematic configuration of the repeateraccording to the second embodiment of the present invention. The sameportions as those shown in FIG. 2 are denoted by the same referencenumerals in FIG. 5 and their explanation is omitted.

In the repeater of this embodiment, a routing processing unit 17 isprovided independently of a processor 15B. The routing processing unit17 starts in response to the fact of being informed by the SAR 13 thatassembly of the hop-by-hop packet has been finished, and executes therouting process by the hardware in accordance with the headerinformation (i.e. the source address, the destination address and thelike) of the hop-by-hop packet stored in the frame memory 14.

A trigger filtering unit 16B receives the header information of thehop-by-hop packet via the routing processing unit 17, and determines inaccordance with the header information whether or not the triggercondition which the packet meets is included in the plural triggerconditions that can be the cut-through triggers in the conditiondetermining unit 61. If the trigger condition meeting the packet isincluded in the plural trigger conditions, the count value of thecorresponding trigger condition counters 631 to 63m is counted up by theadder 65.

FIG. 6 is a circuit block diagram showing a configuration of the routingprocessing unit 17. The routing processing unit 17 is constituted by acontent addressable memory 71, a HASH searching pointer table 72, aforwarding table 73 and a search control unit 74.

The header information and pointer information concerning thecommunications of comparatively high frequency of communication arestored in the content addressable memory 71. FIG. 7 shows an example ofthe memory information. Destination IP addresses, source IP addresses,destination port numbers and source port numbers, which constitute theheader information, are stored as search keys, and pointer informationcorresponding to the header information is also stored. The pointerinformation is used as a key when a forwarding table 73 to be describedlater is searched. The content addressable memory 71 has a searchfunction of executing the searching by using the input headerinformation as the search key, and outputting the pointer informationcorresponding to the header information when the corresponding headerinformation is stored.

The HASH searching pointer table 72 is used when a transfer destinationis searched by an HASH function, and the destination IP addresses andpointer information concerning the communications of low frequency ofcommunication are stored in, for example, SRAMs and DRAMs. FIG. 8 showsan example of the stored information.

Various kinds of the forwarding information items are stored in advanceon the forwarding table 73. FIG. 9 shows an example of the storedinformation. VPIs (Virtual Path Identifiers), VCIs (Virtual ChannelIdentifiers), QOS flags (Quality of Service Flags) and the like arestored as the forwarding information.

The search control unit 74 is constituted by, for example, a logiccircuit, which extracts the header information from the IP packet datastored temporarily in the frame memory 14. In accordance with theextracted header information, the search control unit 74 selectivelyaccesses the content addressable memory 71 or the HASH searching pointertable 72 and searches for the corresponding pointer information. Thesearch control unit 74 also accesses the forwarding table 73 inaccordance with the researched pointer information to search for thecorresponding forwarding information.

The processor 15B has a function of searching for the hop-by-hoptransfer destination by the software process in the same manner as thatseen in the prior art. If the routing process unit 17 fails to searchfor the transfer destination, the processor 15B executes its ownsearching function to search for the transfer destination.

With this configuration, every time the packet is assembled by the SAR13, the count value of the trigger condition meeting the packet iscounted up in the trigger filtering unit 16B. In the processor 15B, therate of the traffic meeting each of the trigger conditions to all thetraffics of the hop-by-hop transfer is calculated, in accordance withthe count value stored in each of the trigger condition counters 631 to63m. The trigger condition under which this rate exceeds the presetthreshold value is selected as the cut-through trigger, and it isdetermined in accordance with this trigger condition whether thereceived packet should be subjected to the cut-through transfer or thehop-by-hop transfer.

As a result of the determination, if the cut-through transfer isselected, the switching information to subject the ATM cell of the dataflow to the cut-through transfer is set from the processor 15B to theswitching table 12. Therefore, after that, the ATM cell of the same dataflow having arrived via the input lines IL1 to ILn−1 is subjected to thecut-through transfer via any one of the output lines OL1 to OLn−1, inaccordance with the switching information which is set on the switchingtable 12 by the ATM switching unit 11.

On the other hand, if the hop-by-hop transfer is selected as a result ofthe determination, the routing process for the hop-by-hop transfer isexecuted by the hardware using the content addressable memory 71, theHASH searching pointer table 72, the forwarding table 73 and the searchcontrol unit 74, in the routing processing unit 17.

Next, the hop-by-hop transfer operation executed in the routingprocessing unit 17 will be explained in further detail.

When a plurality of ATM cells arrive via the lines of the upstream side,these cells are transmitted to the SAR 13 via the ATM switch unit 11 andreconstructed in the SAR 13 to the IP packet data, which is stored inthe frame memory 14.

When the IP packet data is stored in the frame memory 14, the routingprocessing unit 17 extracts the header information from the IP packetdata by the search control unit 74. The search control unit 74 uses thedestination IP address, the source IP address, the destination portnumber and the source port number included in the header information asthe keys to execute the following search for the transfer destinationinformation (i.e. the forwarding information).

That is, first, searching is executed by the content addressable memory71. FIG. 10 is a flow chart showing its operation steps and the contentsof the operations.

In step S100, the search control unit 74 inputs all the informationitems included in the header information, i.e. the destination IPaddress, the source IP address, the destination port number and thesource port number to the content addressable memory 71. The contentaddressable memory 71 searches for the header information which all ofthese information items match and transmits the pointer informationcorresponding to the matched header information back to the searchcontrol unit 74. If the header information which all of theseinformation items match is stored, step S101 shifts to step S106, inwhich the search control unit 74 accesses the forwarding table 73 inaccordance with the pointer information to acquire the correspondingforwarding information (VPI, VCI, QOS flag and the like).

The SAR 13 and the ATM switch unit 11 are operated in accordance withthe forwarding information, and thereby the IP packet data stored in theframe memory 14 is disassembled in the SAR 13 into cells, which aretransmitted from the ATM switch unit 11 to the output line.

On the other hand, it is assumed that the header information which allthe information items meet could not have been searched as a result ofthe searching of the content addressable memory 71. The step shifts tostep S102, and the search control unit 74 selects the destination IPaddress and the source IP address, of all the information items includedin the header information, and inputs the destination IP address and thesource IP address to the content addressable memory 71. The contentaddressable memory 71 searches for the matching header information andtransmits the pointer information corresponding to the matched headerinformation back to the search control unit 74. That is, the informationitems that can be the keys are reduced and searching is executed againby the content addressable memory 71. As a result, if the matched headerinformation can be searched, step S103 shifts to step S106 and thecorresponding forwarding information is acquired from the forwardingtable 73 as mentioned above.

If a plurality of matched header information items exist, the contentaddressable memory 71 transmits the pointer information corresponding tothe header information of a higher priority back to the search controlunit 74, in accordance with a predetermined order of priority.

On the other hand, if the matched header information cannot be searchedeven by the searching using the destination IP address and the source IPaddress as the keys, the search control unit 74 further reduces the keysto the only destination IP address and inputs the destination IP addressto the content addressable memory 71, and the content addressable memory71 searches for the matched header information and transmits the pointerinformation corresponding to the matched header information back to thesearch control unit 74, in step S104. If the matched header informationcan be searched, the corresponding forwarding information is acquiredfrom the forwarding table 73 in step S106.

Furthermore, if the matched header information cannot be searched,header information matching the destination IP address masked at the MSBside is input again to the content addressable memory 71 to execute thesearching, in consideration of a subnet mask. If the matched headerinformation is found, the corresponding forwarding information isacquired from the forwarding table 73 in step S106.

Incidentally, it is assumed that the transfer destination informationcannot be acquired by the above search of the content addressable memory71. The routing processing unit 17 shifts to a next operation ofsearching using the HASH searching pointer table 72. FIG. 11 is a flowchart showing its operation steps and their operation contents.

The HASH function is a function of mapping, for example, a 32-bitdestination IP address over a corresponding bit string of less than 32bits, by a certain compressing algorithm.

The search control unit 74 first sets the mask length at a longestvalue, i.e. Mask Length=32 in step S110, and inputs a destination IPaddress masked with the maximum mask value in step S111 to the HASHfunction in step S112. In step S113, the search control unit 74 refersto a destination IP address of the HASH searching pointer table 72represented by the output of the HASH function. As a result of thereferring, when the destination IP address stored in the HASH searchingpointer table 72 matches the masked destination IP address, step S114shifts to step S117 to read the corresponding pointer information storedon the HASH searching pointer table 72, make an access to the forwardingtable 73 by using the pointer information as a key and acquire thecorresponding forwarding information (VPI, VCI, QOS flags and the like).

On the other hand, when the destination IP address stored in the HASHsearching pointer table 72 does not match the masked destination IPaddress before being input to the HASH function, the mask length isshortened by one bit by considering a subnet mask in step S115 and thedestination IP address is masked from the MSB side by the shortened masklength in step S111. Then, search control unit 74 inputs the maskeddestination IP address to the HASH function in step S112 to refer to thedestination IP address on the HASH searching pointer table 72represented by the output of the HASH function. When the destination IPaddress stored on the HASH searching pointer table 72 matches the maskeddestination IP address before being input to the HASH function, thecorresponding forwarding information is acquired from the forwardingtable 73 as described above.

However, when both addresses do not match, the mask length is furthershortened by one bit in step S115, and the destination IP address ismasked again with the further shortened mask and input to the HASHfunction. The search control unit 74 refers to the destination IPaddress on the HASH searching pointer table 72 represented by the outputof the HASH function. If a destination IP address matching the maskeddestination IP address before being input to the HASH function is found,the corresponding forwarding information is acquired from the forwardingtable 73. However, if no destination IP address is found, the masklength is further shortened and the above HASH search operation isrepeated.

In the above-described HASH search operation, if the forwardinginformation cannot be acquired by shortening the mask length to apredetermined length, the search control unit 74 shifts from step S116to the process queue of the processor 15B, thereby assigning theoperation to the search executed by the software process of theprocessor 15B.

FIG. 12 is a view showing a schematic arrangement of the functions ofthe repeater according to the present embodiment.

As described above, the present embodiment can achieve the followingadvantage, in addition to the advantage which is achieved by variablyselecting the trigger conditions in accordance with the traffic of thehop-by-hop transfer meeting the conditions as described in the abovefirst embodiment. That is, when the received packet does not meet thetrigger condition selected as the cut-through trigger and the hop-by-hoptransfer is selected, the routing process of the hop-by-hop transfer isexecuted in the routing process unit 17 which is the hardware. For thisreason, not only the routing process of the cut-through transfer, butalso that of the hop-by-hop transfer can be accelerated, and thereby theefficiency of communication of the repeater can be further enhanced.

(Other Embodiment)

In the first and second embodiments, only the number of transfer packetsunder each of the trigger conditions is counted by the trigger filteringunits 16A and 16B. However, a process of calculating the rate of thetraffic under each of the trigger conditions to all the traffics of thehop-by-hop transfer in accordance with the count value, and a process ofselecting the trigger condition which can be the cut-through trigger inaccordance with the calculated traffic rate, may be constituted to beexecuted by the trigger filtering units 16A and 16B. With thisconfiguration, the processes up to selection of the trigger conditioncan be executed by using the hardware and thereby the processing speedat determination of the cut-through trigger can be further accelerated.

In addition, in the first embodiment, the upper layer function and thenetwork layer routing process are implemented by the software process ofthe processor 15A and each of the data link layer switching process andthe trigger filtering process is implemented by the hardware, as shownin FIG. 4. In the second embodiment, only the upper layer process isimplemented by the software process of the processor 15B, and each ofthe data link layer switching process, the trigger filtering process andthe network layer routing process is implemented by the hardware, asshown in FIG. 12.

However, the configuration of the repeater is not limited to these. Asshown in FIG. 13, for example, each of the upper layer process, thetrigger filtering process and the network layer routing process may beimplemented by the software process of the processor 15B, and only thedata link layer switching process may be implemented by the hardware.

In addition, the kind and the number of the trigger conditions, thecircuit configuration of the trigger filtering unit, the configuration,processing steps, processing contents and the like of the trafficmonitoring means, condition selecting means and routing processing meanscan be variously modified in a range which does not exceed the gist ofthe present invention.

INDUSTRIAL APPLICABILITY

As described above, in the present invention, the traffic of thehop-by-hop transfer meeting each of a plurality of predeterminedconditions that can be the cut-through triggers is detected, and thetraffic detection value of each condition is compared with apredetermined threshold value to select the condition under which thetraffic exceeds the threshold value as the cut-through trigger. Afterthat, it is determined whether the received packet should be subjectedto the cut-through transfer or the hop-by-hop transfer, in accordancewith this selected condition, and the routing process is executed inaccordance with the result of the determination.

Therefore, according to the present invention, the trigger conditionwith a higher traffic of the hop-by-hop transfer at the current time canbe selected and used as the cut-through trigger in accordance with thevariation in the traffic environment, and thereby the traffic of thecut-through transfer can be increased to provide a repeater which canenhance the efficiency of communication.

What is claimed is:
 1. A repeater having a hop-by-hop transfer mode inwhich a packet routing process is executed in a network layer and acut-through mode in which a packet switching process is executed in adata link layer, for executing a packet routing process by selectivelyusing the modes, comprising: traffic monitoring means for detecting atraffic of the hop-by-hop transfer meeting each of a plurality ofpredetermined conditions that can be cut-through triggers; conditionselecting means for comparing an amount of the traffic of each of theconditions obtained by said traffic monitoring means with apredetermined threshold value, and selecting a condition under which theamount of traffic exceeds the threshold value as the cut-throughtrigger; and routing processing means for determining whether a receivedpacket should be subjected to the cut-through transfer or the hop-by-hoptransfer in accordance with the condition selected by said conditionselecting means, and executing the routing process in accordance with aresult of the determination.
 2. A repeater according to claim 1, whereinsaid traffic monitoring means selects a plurality of conditions as theconditions which can be the cut-through triggers and detects thetraffics of the hop-by-hop transfer meeting the respective conditions.3. A repeater according to claim 1, wherein said traffic monitoringmeans has a counter for counting number of transfer traffics ofhop-by-hop packet meeting each of the plurality of predeterminedconditions that can be the cut-through triggers, and said conditionselecting means obtains a rate of the traffic under each of theconditions to entire hop-by-hop transfer traffics in accordance with thecount value of each of the conditions obtained by the counter of saidtraffic monitoring means, and selects a condition under which the rateexceeds the threshold value as a cut-through trigger.
 4. A repeateraccording to claim 1, wherein said traffic monitoring means detects thetraffics, in a certain previous period, of the hop-by-hop transfermeeting each of the plurality of predetermined conditions that can becut-through triggers.
 5. A repeater according to claim 1, wherein thetraffic detection process of the said traffic monitoring means, and thecut-through transfer process and the hop-by-hop transfer process of saidrouting processing means are executed with hardware circuits,respectively, and the process of selecting the condition which can bethe cut-through trigger by said condition selecting means is executed inthe software process with a processor.